﻿package com.logrogue.console.data {
	
	import flash.events.IEventDispatcher;
	
	/**
	 * Интерфейс менеджера логов.
	 * 
	 * @version  1.0
	 * @author   meps
	 */
	public interface ILogManager extends IEventDispatcher {
		
		/**
		 * Общее количество обслуживаемых приложений.
		 */
		function appCount():int;
		
		/**
		 * Получить указатель на экземпляр обработчика приложения.
		 * 
		 * @param   String - по идентификатору приложения;
		 *          int - по индексу приложения;
		 * 
		 * @return  экземпляр обработчика приложения;
		 */
		function appGet(reference:*):ILogApplication;
		
		/**
		 * Прервать обслуживание приложения.
		 * 
		 * @param   String - по идентификатору приложения;
		 *          int - по индексу приложения;
		 *          ILogApplication - по указателю на экземпляр обработчика;
		 */
		function appClose(reference:*):void;
		
		/**
		 * Событие подключения приложения.
		 */
		function get APP_CONNECT():String;
		
		/**
		 * Событие отключения по инициативе приложения.
		 */
		function get APP_CLOSE():String; 
		
	}
	
}